package com.ruoyi.warehouse.service;

import com.ruoyi.warehouse.domain.CkWarehouse;
import com.ruoyi.warehouse.domain.CpkcFnishedProductInventory;
import com.ruoyi.warehouse.domain.CprkProductStorageForm;

import java.util.List;

public interface ProductStorageService {
    /**
     * 查询产品入库
     *
     * @param rkCode 产品入库主键
     * @return 产品入库
     */
    public CprkProductStorageForm selectCprkProductStorageFormByRkCode(String rkCode);

    /**
     * 查询产品入库列表
     *
     * @param cprkProductStorageForm 产品入库
     * @return 产品入库集合
     */
    public List<CprkProductStorageForm> selectCprkProductStorageFormList(CprkProductStorageForm cprkProductStorageForm);

    /**
     * 新增产品入库
     *
     * @param cprkProductStorageForm 产品入库
     * @return 结果
     */
    public int insertCprkProductStorageForm(CprkProductStorageForm cprkProductStorageForm);

    /**
     * 修改产品入库
     *
     * @param cprkProductStorageForm 产品入库
     * @return 结果
     */
    public int updateCprkProductStorageForm(CprkProductStorageForm cprkProductStorageForm);

    /**
     * 批量删除产品入库
     *
     * @param rkCodes 需要删除的产品入库主键集合
     * @return 结果
     */
    public int deleteCprkProductStorageFormByRkCodes(String[] rkCodes);

    /**
     * 删除产品入库信息
     *
     * @param rkCode 产品入库主键
     * @return 结果
     */
    public int deleteCprkProductStorageFormByRkCode(String rkCode);


    /**
     * 产品信息
     *
     * @param cpkc 需要删除的数据主键集合
     * @return 结果
     */
    public List<CprkProductStorageForm> selectCp(CpkcFnishedProductInventory cpkc);

    /**
     * 审核
     *
     * @param rkCode 需要删除的数据主键集合
     * @return 结果
     */
    public int insertCpkcStorage(String rkCode);

    /**
     * 撤销
     *
     * @param rkCode 需要撤销的数据主键
     * @return 结果
     */
    public int cancelCpkcStorage(String rkCode);
}
